// 引入mobx观察与响应式对象
// 使用静态导入替代动态路径
const { observable, action, runInAction } = require('mobx-miniprogram');

// 使用统一配置入口模式导入日期工具
const { dateHelper: dateUtil } = require('../config/project_helpers_config');

// 收藏与足迹Store
const favFootStore = observable({
  // 收藏列表
  favList: [],
  
  // 足迹列表
  footList: [],
  
  // 加载状态
  loading: false,
  
  // 加载收藏列表
  loadFavList: action(async function() {
    this.loading = true;
    try {
      // 实现加载收藏列表的逻辑
      setTimeout(() => {
        runInAction(() => {
          this.favList = [
            { id: 'fav1', title: '示例收藏1', createTime: new Date() },
            { id: 'fav2', title: '示例收藏2', createTime: new Date() }
          ];
          this.loading = false;
        });
      }, 500);
    } catch (e) {
      console.error('加载收藏列表失败:', e);
      runInAction(() => {
        this.loading = false;
      });
    }
  }),
  
  // 加载足迹列表
  loadFootList: action(async function() {
    this.loading = true;
    try {
      // 实现加载足迹列表的逻辑
      setTimeout(() => {
        runInAction(() => {
          this.footList = [
            { id: 'foot1', title: '示例足迹1', viewTime: new Date() },
            { id: 'foot2', title: '示例足迹2', viewTime: new Date() }
          ];
          this.loading = false;
        });
      }, 500);
    } catch (e) {
      console.error('加载足迹列表失败:', e);
      runInAction(() => {
        this.loading = false;
      });
    }
  }),
  
  // 格式化日期
  formatDate: function(date) {
    return dateUtil.format(date);
  },
  
  // 清空数据
  clear: action(function() {
    this.favList = [];
    this.footList = [];
  })
});

module.exports = {
  favFootStore
}; 